<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        .one{
            color: red;
        }
        .bg{
            background-color: yellow;
        }
        .test{
            font-size: 50px;
        }
    </style>
</head>
<body>
    <!-- v-bind:主要用于绑定动态属性(动态调整元素样式) -->
    <!-- 语法糖： v-bind 写成  ： -->
    <div id="app">
        <button v-on:click="change()">点击切换样式</button>
        <!-- 一、v-bind绑定class属性：修改样式表中的样式 -->
        <!-- 1.绑定一个类名 -->
        <h1 :class="{'one':flag}">hello world</h1>
        <!-- 2.绑定多个类名 -->
        <h1 :class="{'one':flag,'bg':flag}">hello world</h1>
        <!-- 3.普通类名和动态类名可以共存 -->
        <h1  class="test"  :class="{'one':flag,'bg':flag}">hello world</h1>
        <!-- 4.绑定多个类名(类名比较复杂的情况，可以使用回调函数) -->
        <h1  class="test"  :class="getClass()">hello world</h1>


        <!-- 二、v-bind绑定style属性：修改行内样式 -->
        <!-- 1.绑定一个样式 -->
        <h2 :style="{color:'red'}">6666666</h2>
        <!-- 2.绑定多个样式 -->
        <h2 :style="{color:'red',fontSize:font+'px'}">6666666</h2>
        <!-- 3.绑定多个样式（样式比较复杂的情况，可以使用回调函数） -->
        <h2 :style="getStyle()">6666666</h2>




    </div>
    <script src="./vue.js"></script>
    <script>
        let app=new Vue({
            el:"#app",
            data:{
                flag:true,
                flag2:true,
                font:80
            },
            methods:{
                change(){
                    // 方法一：
                    // if(this.flag){
                    //     this.flag=false;
                    // }else{
                    //     this.flag=true;
                    // }

                    // 方法二：
                    this.flag=!this.flag;
                },
                getClass(){
                    return {
                        one:this.flag,
                        bg:this.flag2,
                        xyz:true
                    }

                },
                getStyle(){
                    return {
                        color:"yellow",
                        fontSize:100+"px",
                        backgroundColor:"green"
                    }
                }
            }
        })
    </script>
</body>
</html>